Systems and methods for webpage creation and updating

ABSTRACT

A system for co-authoring web pages includes a data storage configured to store internal content for a web page to be displayed on computer devices and an application server. The application server can retrieve the internal content for the web page from the data storage and send the internal content to a first computer device and a second computer device on which the web page is respectively displayed. The application server can receive input to the web page from a first user using the first computer device and from a second user using the second computer device. The application server can send updated internal content for the web page based the input to the first computer device and the second computer device to allow the web page comprising the input to be displayed in real time on the first computer device and the second computer device.

PRIORITY PATENT APPLICATIONS

The present patent application claims priority to provisional U.S. patent application 61/022,056, entitled “Systems and methods for webpage creation and updating”, provisional U.S. patent application 61/022,062, entitled “Systems and methods for webpage design and content entry”, and provisional U.S. patent application 61/022,069, entitled “Systems and methods for webpage notification and access control”, all filed on Jan. 18, 2008 and by the same inventors. The disclosure of these related patent applications are incorporated herein by reference.

BACKGROUND

The present invention relates generally to providing content to web pages.

As the Internet has grown more popular, a web site has become a “front door” of an institution to the users. The quality, accuracy, completeness of content presented on a web site can largely determine the effectiveness of the web site. As a result, substantial resources are often expended in ensuring that the content of a web site is accurate, current, complete, and easily accessed.

Creating a web site is often a daunting task, which typically requires the collaboration of a number of web content creators, web developers that format the content into appropriate Hypertext Transfer Markup Language (HTML) documents, and reviewers that ensure content accuracy and currency. For example, a web blog site can publish comments from a large number of users.

Moreover, web sites are typically extremely dynamic in nature, and are often updated with new content on a frequent basis, e.g., to incorporate new product releases, new support issues, new pricing structures, etc. As a result, the content presented in a web site will typically be in a constant state of flux.

Given the significant manpower resources required to create and update a web site, management of a web site, in general, is often cumbersome and extremely time consuming. Interfacing various individuals to ensure that all content at a web site is accurate and up-to-date is often haphazard and inefficient.

There is therefore a need for timely and efficiently add content to web pages from a wide range of sources.

SUMMARY

In one aspect, the present application relates to a system for co-authoring web pages. The system includes a data storage that can store internal content for a web page to be displayed on computer devices; and an application server that can communicate with a first computer device operated by a first user and a second computer device operated by a second user through a computer network, wherein the application server can retrieve the internal content for the web page from the data storage and send the internal content to the first computer device and the second computer device on which the web page is respectively displayed, wherein the application server can receive input to the web page from the first user using the first computer device and from the second user using the second computer device, wherein the application server can send updated internal content for the web page based the input to the first computer device and the second computer device to allow the web page comprising the input from the first user and the second user to be displayed in real time on the first computer device and the second computer device.

In another aspect, the present application relates to a system for co-authoring web pages. The system includes a data storage that can store internal content for a web page to be displayed on computer devices; a data server that can receive external content for the web page from an external information source; and an application server that can communicate with a first computer device operated by a first user and a second computer device operated by a second user through a computer network, wherein the application server can retrieve the internal content for the web page from the data storage and send the internal content to the first computer device and the second computer device on which the web page is respectively displayed, wherein the application server can receive input to the web page from the first user using the first computer device and from the second user using the second computer device, wherein the application server can send updated internal content for the web page based the input to the first computer device and the second computer device to allow the web page comprising the input from the first user and the second user to be displayed in real time on the first computer device and the second computer device, wherein the application server can receive the external content from the data server and send the external content to the first computer device and the second computer device to allow the external content to be displayed on the web page over the first computer device and the second computer device.

In another aspect, the present application relates to a method for co-authoring web pages. The method includes storing internal content for a web page by a data storage; retrieving the internal content for the web page from the data storage by an application server, the application server being able to communicate with a first computer device operated by a first user and a second computer device operated by a second user through a computer network; sending the internal content from the application server to the first computer device and the second computer device to allow the web page comprising the internal content to be displayed on the first computer device and the second computer device; receiving input to the web page from the first user using the first computer device and from the second user using the second computer device by the application server; and sending updated internal content for the web page based the input from the application server to the first computer device and the second computer device to allow the web page comprising the input from the first user and the second user to be displayed in real time on the first computer device and the second computer device.

Implementations of the system may include one or more of the following. The input from the first user and the second user can include text, an image, or a combination of text and an image. The web page can be displayed on the first computer device using a web browser application. The system can further include a data server in communication with the application server. The data server can receive external content for the web page from an external information source. The application server can send the external content to the first computer device and the second computer device to allow the external content to be displayed on the web page over the first computer device and the second computer device. The application server can resolve conflicts between input from the first user and the second user. The application server can resolve conflicts by rejecting at least one input from the first user and the second user. The application server can resolve the conflicts by accepting the earlier input from the first user and the second user while rejecting the latter input from the first user and the second user.

Embodiments may include one or more of the following advantages. The disclosed systems and methods allow multiple users to co-author a webpage in real time. The users can be remotely located, and be strangers to each other. Content from external sources can be fed and effectively integrated with the content on the web page created by the multiple users. The disclosed systems and methods can significantly increase the flexibility and reduce the amount of time for creating content for web pages. The disclosed systems and methods can also broaden the content sources for web pages.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of a network system allowing real-time webpage co-authoring among multiple users.

FIG. 2 illustrates layouts of web pages displayed at remote computer devices for enabling real-time webpage co-authoring as shown in FIG. 1.

FIG. 3 is a block diagram of the network system in FIG. 1, showing data from external sources to be fed to a webpage and to integrate with internally created content in the webpage.

Although the invention has been particularly shown and described with reference to multiple embodiments, it will be understood by persons skilled in the relevant art that various changes in form and details can be made therein without departing from the spirit and scope of the invention.

DETAILED DESCRIPTION

Referring to FIG. 1, a network system 100 includes a data server 110 that can receive web page content from an external source, a data storage 115 that can store internally generally web page content and web content generated by users, as described below, and one or more application servers 120 in communication with the data server 110 and the data storage 115 in an internal computer network. The application servers 120 are configured to communicate with computer devices 130, 135 over a computer network. Computer devices 130, 135 can respectively run web browsers 131, 136 using web content supplied by the application servers 120.

The client applications such as web browser software at the computer devices 130, 135 can be connected to application servers 120 via a dedicated network connection (e.g. an HTTP connection) that provides near real-time data communications with minimal network latency. Changes made by each user are stored in the data storage 115 and can be distributed by the application servers 120 to other applications to display updated web pages.

In according to the present invention, users of the computer devices 130, 135 can not only view the content of the web browsers 131, 136, they can also collaboratively add and modify content in a web page in real time. Depending on the roles of the different users, the users can be given different level of permissions by the management of the network system 100. The permission levels can include, for example, “No Access”, “Reader”, “Commenter”, “Author”, “Editor”, or “Owner”. Commenters, authors, and editors can respectfully contribute or alter web content to different extent.

FIG. 2 shows examples of a web page 200 and a web page 250 that can be respectively displayed by the web browsers 131, 136 (such as Microsoft's Internet Explorer) on the computer devices 130, 135. Users A and B can respectively operate the computer devices 130, 135 to edit the web pages 200, 250. The edited content can appear in real time in the web pages 200, 250 and visible to users A and B. Users A and B can add images to their respective web pages 200, 250 by moving (e.g. dragging and dropping) images from the computer devices 130, 135 into image receiving areas on the web pages 200, 250. The web page 200 and 250 can include an image 201 added by user A and an image 202 added by user B. Users A and B can add text information such as comments to their respective web pages 200, 250 through user interface tools such as keyboard, mouse, and voice input. The web page 200 and 250 can include comments 261, 263 added by user A and comment 262 added by user B. Text, images, and other objects on the web pages 200, 250 can be added, moved, edited, and deleted by multiple users (e.g. user A and user B) at the same time.

Although the image and text information displayed on the web pages 200 and 250 may differ instantaneously as the users A and B was entering the text or moving the image into the web pages 200, 250. Once the text and image information are accepted, the information can be instantly updated in real time such that the users A and B can see the same updated web page content, which would assist their thinking and decision making in co-authoring the web page. As users make changes to the content on the page, these changes are distributed to other users so that the each users' displayed web page reflects the content changes without the user needing to refresh the web page.

The changes simultaneously made by users A and B can be interleaved and posted on the same webpage 200 or 250, which is illustrated by comments 261-263 from user A and user B in FIG. 2. User A can add an image while user B is changing the layout of the web page. Collisions or conflicts can be detected if two or more users attempt to update the same object on the webpage at the same time.

Content can be added simultaneously by multiple users. Rules can be set up to avoid conflicts between the content entered by different users A and B. An exemplified rule can define that early changes take priority over the latter changes. When content edited or moved simultaneously by different users create conflicts, the earlier change may be accepted while the latter changes rejected.

The web page 200, 250 can respectively include sections 221, 271 that can display information received from external sources. The rules for selecting the external source and the type of information can for example set by one or more of the users (e.g. user A). User generated information such as image 201 and comments 261-263 can be integrated from externally sourced information in sections 221, 271 on the web pages 200, 250. Only the internal content, however, can be edited by other users in a group that have editing permission.

Referring to FIG. 3, the application servers 120 can store internal web content to the data storage 115. The application servers 120 can also retrieve internal web content to the data storage 115. In the present specification, the internal web content can include user generated web page content as described above (e.g. by user A and user B). The data server 110 can send a “get” command to request updated information from an external information source 310 such as “Yahoo News”. The external information source 310 can for example be a Yahoo RSS server. The external information source 310 can respond by providing updated information as set in the rules. Alternatively, the external information source 310 can inform the data server 110 that no changes have occurred. Then no update is needed in the sections 221, 271 in the web pages 200, 250.

The updated external information is sent from the data server 110 to the application servers 120, and subsequently fed to computer devices 130, 135. The information is updated in the sections 221, 271 in the web pages 200, 250.

Examples of external content include live news update, weather information, stock updates, and traffic information. The user can define the type of information to be streamed and the frequency of the updates (e.g. in minutes, hours, or days), which is used by the application server to define the filtering parameters and polling frequency to information request from a content source.

In some embodiments, the end user is not required to specify the update frequency for the external content. The user selects the data feed itself and the frequency is based on a combination of server logic (e.g. default polling frequencies) and information provided by the source feed content (e.g. time to live values). For streaming feeds (e.g. stock market information), the external information source 310 provides the stream. The network system 100 handles distributing the changes as appropriate. When changes to the source data are encountered, they are “pushed” to computer devices 130, 135 where web pages that contain the updated content are displayed.

The externally streamed content can be integrated with content created by the viewer or other users in a group. For example, weather condition at home location of a user's grandparent can be received from an external source and displayed to inform the user live weather conditions at her grand parent's home.

Another example for an updated web content from a user community is the currently voted “Most popular photobook” at a website (such as Shutterfly.com) It should be understood that the disclosed systems and methods can exist in many different configurations and are not limited to the specific examples described above. For example, the layout of and the exact nature of the information on a web page can differ from the examples above. The network system can include other components such as a router, a data storage device, a data base and so on. The rules for the external content can differ between different users such that the users can see different external information on their respective computer devices. 

1. A system for co-authoring web pages, comprising: a data storage configured to store internal content for a web page to be displayed on computer devices; and an application server configured to communicate with a first computer device operated by a first user and a second computer device operated by a second user through a computer network, wherein the application server is configured to retrieve the internal content for the web page from the data storage and send the internal content to the first computer device and the second computer device on which the web page is respectively displayed, wherein the application server is configured to receive input to the web page from the first user using the first computer device and from the second user using the second computer device, wherein the application server is configured to send updated internal content for the web page based the input to the first computer device and the second computer device to allow the web page comprising the input from the first user and the second user to be displayed in real time on the first computer device and the second computer device.
 2. The system of claim 1, wherein the input from the first user and the second user comprises text, an image, or a combination of text and an image.
 3. The system of claim 1, wherein the web page is displayed on the first computer device using a web browser application.
 4. The system of claim 1, further comprising a data server in communication with the application server and configured to receive external content for the web page from an external information source.
 5. The system of claim 4, wherein the application server is configured to send the external content to the first computer device and the second computer device to allow the external content to be displayed on the web page over the first computer device and the second computer device.
 6. The system of claim 1, wherein the application server is configured to resolve conflicts between input from the first user and the second user.
 7. The system of claim 6, wherein the application server is configured to resolve conflicts by rejecting at least one input from the first user and the second user.
 8. The system of claim 6, wherein the application server is configured to resolve the conflicts by accepting the earlier input from the first user and the second user while rejecting the latter input from the first user and the second user.
 9. A system for co-authoring web pages, comprising: a data storage configured to store internal content for a web page to be displayed on computer devices; a data server configured to receive external content for the web page from an external information source; and an application server configured to communicate with a first computer device operated by a first user and a second computer device operated by a second user through a computer network, wherein the application server is configured to retrieve the internal content for the web page from the data storage and send the internal content to the first computer device and the second computer device on which the web page is respectively displayed, wherein the application server is configured to receive input to the web page from the first user using the first computer device and from the second user using the second computer device, wherein the application server is configured to send updated internal content for the web page based the input to the first computer device and the second computer device to allow the web page comprising the input from the first user and the second user to be displayed in real time on the first computer device and the second computer device, wherein the application server is configured to receive the external content from the data server and send the external content to the first computer device and the second computer device to allow the external content to be displayed on the web page over the first computer device and the second computer device.
 10. The system of claim 9, wherein the input from the first user and the second user comprises text, an image, or a combination of text and an image.
 11. The system of claim 9, wherein the web page is displayed on the first computer device using a web browser application.
 12. The system of claim 9, wherein the application server is configured to resolve conflicts between input from the first user and the second user.
 13. A method for co-authoring web pages, comprising storing internal content for a web page by a data storage; retrieving the internal content for the web page from the data storage by an application server, the application server being configured to communicate with a first computer device operated by a first user and a second computer device operated by a second user through a computer network; sending the internal content from the application server to the first computer device and the second computer device to allow the web page comprising the internal content to be displayed on the first computer device and the second computer device; receiving input to the web page from the first user using the first computer device and from the second user using the second computer device by the application server; and sending updated internal content for the web page based the input from the application server to the first computer device and the second computer device to allow the web page comprising the input from the first user and the second user to be displayed in real time on the first computer device and the second computer device.
 14. The method of claim 13, further comprising storing the updated internal content for the web page based the input in the data storage.
 15. The method of claim 13, wherein the input from the first user and the second user comprises text, an image, or a combination of text and an image.
 16. The method of claim 13, wherein the web page is displayed on the first computer device using a web browser application.
 17. The method of claim 16, wherein the input to the web page from the first user is entered using the using the web browser application running on the first computer device
 18. The method of claim 13, further comprising receiving external content for the web page from an external information source by a data server in communication with the application server.
 19. The method of claim 18, further comprising sending the external content from the application server to the first computer device and the second computer device to allow the external content to be displayed on the web page over the first computer device and the second computer device.
 20. The method of claim 13, further comprising resolving conflicts between input from the first user and the second user by the application server.
 21. The method of claim 20, wherein the application server is configured to resolve the conflicts by accepting the earlier input from the first user and the second user while rejecting the latter input from the first user and the second user. 